package com.ibm.cloud.banking.prod.repository;

import com.ibm.cloud.banking.prod.entity.ProductInfo;
import com.ibm.cloud.banking.prod.entity.ProductInfoExample;
import org.apache.ibatis.annotations.Param;

import java.util.List;


public interface ProductInfoMapper {
    long countByExample(ProductInfoExample example);

    int deleteByExample(ProductInfoExample example);

    int deleteByPrimaryKey(String productNo);

    int insert(ProductInfo row);

    int insertSelective(ProductInfo row);

//    List<ProductInfo> selectByExampleWithPagination(ProductInfoExample example, PaginationCriteria extensionCriteria);
//
//    List<ProductInfo> selectByExampleForUpdate(ProductInfoExample example, ForUpdateCriteria extensionCriteria);

    List<ProductInfo> selectByExample(ProductInfoExample example);

    List<ProductInfo> selectAll();


    ProductInfo selectByPrimaryKey(String productNo);

    int updateByExampleSelective(@Param("row") ProductInfo row, @Param("example") ProductInfoExample example);

    int updateByExample(@Param("row") ProductInfo row, @Param("example") ProductInfoExample example);

    int updateByPrimaryKeySelective(ProductInfo row);

    int updateByPrimaryKey(ProductInfo row);
}